home *** CD-ROM | disk | FTP | other *** search
/ Windows 6-Pak - Disc 4 / Windows 6-Pak (InfoMagic) (Disc 4) (1999).ISO / Text-Chat-Addins / C-Script.exe / Sysfiles / WWW / www.mrc < prev   
Encoding:
Text File  |  1998-05-06  |  26.4 KB  |  445 lines

  1. ;C-Script v5.0 ⌐ 1998 C-Team. All rights reserved.
  2. ;Configure at your own risk
  3. ;C-Script Browser
  4.  
  5. ;==========
  6. ;WWW Browser
  7. ;==========
  8.  
  9. ;Events
  10. on 1:close:@:if ($target == @c-scriptábrowser) { sockclose cswww | unset %www.* | .timerwww off }
  11. on 1:sockread:cswww {
  12.   if ($sockerr > 0) { www.notice Error retrieving  $+ $www.add $+  | set %www.err 1 | return }
  13.   .timerwww 1 60 www.err Error in retrieving  $+ $www.add $+ 
  14.   if (%www.gt == $null) {
  15.     :nextread
  16.     sockread %www.read
  17.     if ($sockbr == 0) { return }
  18.     if (Content-Type: isin $gettok(%www.read,1,32)) { set %www.type $gettok(%www.read,2,32) }
  19.     if (Content-length: isin $gettok(%www.read,1,32)) { set %www.size $gettok(%www.read,2,32) }
  20.     if (Location: isin $gettok(%www.read,1,32)) {
  21.       if (%twww.count == 1) { unset %twww.count | www.err Error in retrieving  $+ $www.add $+  | halt }
  22.       set %twww.count 1
  23.       unset %www.add | sockclose cswww | www $gettok(%www.read,2-,32) | halt
  24.     }
  25.     if (%www.read == $null) {  goto next }
  26.     goto nextread
  27.     :next
  28.     set %www.gt yes | set %www.rcvd2 $sock(cswww).rcvd
  29.   }
  30.   if (%www.type == $null) { set %www.type text/html }
  31.   if (%www.type == text/html) {
  32.     :nextread2
  33.     sockread %www.read
  34.     if ($sockbr == 0) { return }
  35.     write "sysfiles\www\temp.html" %www.read
  36.     goto nextread2
  37.   }
  38.   if ($window(@c-scriptábrowser).x != $null) { window -n @C-Scriptábrowser }
  39.   if (%www.download == $null) {
  40.     .remove sysfiles\www\temp.tmp
  41.     wincheck @www.download -p +f @www.download $center(243,75) 243 75 comic sans ms 12
  42.     drawfill @www.download 15 15 0 0
  43.     drawrect -f @www.download 2 1 0 0 300 17
  44.     drawtext -o @www.download 0 arial 14 3 1 C-Script
  45.     drawx 183 45 51 18 @www.download Cancel
  46.     drawtext @www.download 1 arial 13 1 19 Downloading $gettok($gettok(%www.add,2,32),$calc($count($gettok(%www.add,2,32),/) + 1),47)
  47.     drawx 185 2 15 14 @www.download nx | drawx 201 2 15 14 @www.download mxx | drawx 219 2 15 14 @www.download Xx
  48.     set %www.download 1 | set %www.time $ctime
  49.   }
  50.   :nextread3
  51.   sockread &www.read
  52.   bwrite "sysfiles\www\temp.tmp" -1 &www.read
  53.   if ($sockbr == 0) { return }
  54.   set %www.rcvd $sock(cswww).rcvd
  55.   if (%www.size == $null) { set %www.size Unknown } | if (%www.rcvd == $null) { set %www.rcvd Unknown }
  56.   drawrect -f @www.download 15 4 125 30 150 13 | set %www.time2 $calc($ctime - %www.time)
  57.   if (%www.size == unknown) && (%www.rcvd == unknown) { drawtext @www.download 1 arial 13 1 30 Size: %www.size Total received: %www.rcvd }
  58.   if (%www.size == unknown) && (%www.rcvd != unknown) { drawtext @www.download 1 arial 13 1 30 Size: %www.size Total received: $kbyte($calc(%www.rcvd - %www.rcvd2)) ( $+ $round($calc($int($calc(%www.rcvd * .001)) / %www.time2),1) k sec) }
  59.   if (%www.size != unknown) && (%www.rcvd == unknown) { drawtext @www.download 1 arial 13 1 30 Size: $kbyte(%www.size) Total received: %www.rcvd }
  60.   if (%www.size != unknown) && (%www.rcvd != unknown) { drawtext @www.download 1 arial 13 1 30 Size: $kbyte(%www.size) Total received: $kbyte($calc(%www.rcvd - %www.rcvd2)) ( $+ $round($calc($int($calc(%www.rcvd * .001)) / %www.time2),1) k sec) }
  61.   if (%www.size isnum) && (%www.rcvd isnum) { progbar %www.size $calc(%www.rcvd - %www.rcvd2) @www.download 71 50 }
  62.   goto nextread3
  63. }
  64. on 1:sockopen:cswww {
  65.   if ($sockerr > 0) { .timerwww off | www.err Error retrieving  $+ $www.add $+  | set %www.err 1 | return }
  66.   .timerwww 1 60 www.err Error in retrieving  $+ $www.add $+ 
  67.   sockwrite -tn $sockname GET / $+ $gettok(%www.add,2,32) HTTP/1.0  $cr $+ $lf $+ $cr $+ $lf
  68. }
  69. on 1:sockclose:cswww:www.end
  70. ;Help
  71. alias wwwhelp {
  72.   wincheck @C-ScriptáBrowser -l19 @C-ScriptáBrowser $center(634,380) 634 380 @C-ScriptáBrowser comic sans ms 12
  73.   loadbuf -p @c-scriptábrowser sysfiles\www\help.txt
  74. }
  75. ;Menu
  76. menu @www.download {
  77.   sclick {
  78.     if ($inrect($mouse.x,$mouse.y,185,2,15,14) == $true) { drawx2 185 2 15 14 @www.download | .timercl -m 1 200 window -n @www.download | .timerc2 -m 1 200 drawx 185 2 15 14 @www.download nx }
  79.     if ($inrect($mouse.x,$mouse.y,183,45,51,18) == $true) { drawx2 183 45 51 18 @www.download | .timercl -m 1 200 window -c @www.download | sockclose cswww | .timerwww off | www.notice Cancelled downloading  $+ $www.add $+ ... | unset %www.* }
  80.   }
  81. }
  82. menu @C-ScriptáBrowser {
  83.   dclick www.gourl
  84.   Load URL...:www $$?="Address:"
  85.   -
  86.   Bookmark(s)
  87.   . $+ $www.bkmrkadd $+ :www.bookmark %swww.bkmrk
  88.   .-
  89.   . $+ $www.rbh(1,bk) $+ :www.bkfile 1
  90.   . $+ $www.rbh(2,bk) $+ :www.bkfile 2
  91.   . $+ $www.rbh(3,bk) $+ :www.bkfile 3
  92.   . $+ $www.rbh(4,bk) $+ :www.bkfile 4
  93.   . $+ $www.rbh(5,bk) $+ :www.bkfile 5
  94.   . $+ $www.rbh(6,bk) $+ :www.bkfile 6
  95.   . $+ $www.rbh(7,bk) $+ :www.bkfile 7
  96.   . $+ $www.rbh(8,bk) $+ :www.bkfile 8
  97.   . $+ $www.rbh(9,bk) $+ :www.bkfile 9
  98.   . $+ $www.rbh(10,bk) $+ :www.bkfile 10
  99.   . $+ $www.rbh(11,bk) $+ :www.bkfile 11
  100.   . $+ $www.rbh(12,bk) $+ :www.bkfile 12
  101.   . $+ $www.rbh(13,bk) $+ :www.bkfile 13
  102.   . $+ $www.rbh(14,bk) $+ :www.bkfile 14
  103.   . $+ $www.rbh(15,bk) $+ :www.bkfile 15
  104.   . $+ $www.rbh(16,bk) $+ :www.bkfile 16
  105.   . $+ $www.rbh(17,bk) $+ :www.bkfile 17
  106.   . $+ $www.rbh(18,bk) $+ :www.bkfile 18
  107.   . $+ $www.rbh(19,bk) $+ :www.bkfile 19
  108.   . $+ $www.rbh(20,bk) $+ :www.bkfile 20
  109.   . $+ $www.rbh(21,bk) $+ :www.bkfile 21
  110.   . $+ $www.rbh(22,bk) $+ :www.bkfile 22
  111.   . $+ $www.rbh(23,bk) $+ :www.bkfile 23
  112.   . $+ $www.rbh(24,bk) $+ :www.bkfile 24
  113.   . $+ $www.rbh(25,bk) $+ :www.bkfile 25
  114.   . $+ $www.rbh(26,bk) $+ :www.bkfile 26
  115.   . $+ $www.rbh(27,bk) $+ :www.bkfile 27
  116.   . $+ $www.rbh(28,bk) $+ :www.bkfile 28
  117.   . $+ $www.rbh(29,bk) $+ :www.bkfile 29
  118.   Home ( $+ $www.rbh(home) $+ )
  119.   .Load:www $www.rbh(home)
  120.   .Set...:writeini sysfiles\www\settings.ini www home $$?="Address:"
  121.   Recent
  122.   . $+ $www.rbh(1,www) $+ :www.file n1
  123.   . $+ $www.rbh(2,www) $+ :www.file n2
  124.   . $+ $www.rbh(3,www) $+ :www.file n3
  125.   . $+ $www.rbh(4,www) $+ :www.file n4
  126.   . $+ $www.rbh(5,www) $+ :www.file n5
  127.   . $+ $www.rbh(6,www) $+ :www.file n6
  128.   . $+ $www.rbh(7,www) $+ :www.file n7
  129.   . $+ $www.rbh(8,www) $+ :www.file n8
  130.   . $+ $www.rbh(9,www) $+ :www.file n9
  131.   . $+ $www.rbh(10,www) $+ :www.file n10  
  132.   .-
  133.   .Clear:remini sysfiles\recent.ini www
  134.   -
  135.   Help:wwwhelp
  136.   Close:sockclose cswww | unset %www.* | .timerwww off | window -c @C-ScriptáBrowser
  137. }
  138. ;Decipher if the file is on the harddrive or if it has to be downloaded
  139. alias www.file {
  140.   set %file $readini sysfiles\recent.ini www $1
  141.   addrec www %file
  142.   set %file sysfiles\www\ $+ $gettok(%file,2,32)
  143.   if ($exists(%file) == $true) { www.dlcomp %file | unset %file | halt }
  144.   set %file sysfiles\www\ $+ $1 $+ .html
  145.   if ($exists(%file) == $true) { www.parse $1 | unset %file | halt }
  146.   set %file $readini sysfiles\recent.ini www $1
  147.   www $replace(%file,$chr(32),/) | unset %file
  148. }
  149. ;Recent/homepage/bookmarks
  150. alias www.rbh {
  151.   if ($1 == home) { return $readini sysfiles\www\settings.ini www home }
  152.   if ($2 == www) {
  153.     if ($1 == 1) { unset %www.adds }
  154.     set %tmp1 n $+ $1
  155.     set %www.read $readini -n sysfiles\recent.ini $2 %tmp1
  156.     if ($findtok(%www.adds,%www.read,1,168) != $null || %www.read == $null) { unset %www.read | return }
  157.     else { set %www.adds %www.adds $+ $chr(168) $+ %www.read | return $www.add(%www.read) }
  158.   }
  159.   if ($2 == bk) {
  160.     if ($1 == 1) { unset %www.adds }
  161.     set %www.read $readini sysfiles\www\settings.ini bookmarks $1
  162.     if ($findtok(%www.adds,%www.read,1,168) != $null) { unset %www.read | return }
  163.     else { set %www.adds %www.adds $+ $chr(168) $+ %www.read | return $gettok(%www.read,2,169) }
  164.   }
  165. }
  166. ;Initiating browser
  167. alias www.initiate {
  168.   wincheck @C-ScriptáBrowser -l19 @C-ScriptáBrowser $center(634,380) 634 380 @C-ScriptáBrowser comic sans ms 12
  169.   if ($1 == $null) { wwwhelp }
  170.   else www $1
  171. }
  172. ;Loading a page
  173. alias www {
  174.   if (%www.add != $null) { sockclose cswww | unset %www.* | .timerwww off }
  175.   if ($window(@C-ScriptáBrowser).state != normal) { www.initiate $1 | halt }
  176.   set %www.add $1
  177.   clear @C-ScriptáBrowser | clear -l @C-ScriptáBrowser
  178.   titlebar @C-ScriptáBrowser
  179.   if (%www.add == $null) { set %www.add $?="Address:" }
  180.   set %www.add $www.parseadd(%www.add)
  181.   www.notice Now retrieving  $+ $www.add $+ ... Remember that your computer may appear to "freeze" while the WWW file is being parsed!
  182.   .timer 1 3 www.nxt
  183. }
  184. alias www.nxt {
  185.   if ($right($left(%www.add,3),2) == :\) {
  186.     if ($exists($replace(%www.add,$chr(32),\)) == $false) { www.err Error in retrieving  $+ $www.add $+ : File not found! | halt }
  187.     elseif ($right(%www.add,4) == .exe || $right(%www.add,4) == .zip || $right(%www.add,4) == .cab || $right(%www.add,4) == .gif || $right(%www.add,4) == .wav || $right(%www.add,4) == .mid || $right(%www.add,4) == .ini || $right(%www.add,4) == .txt || $right(%www.add,4) == .jpg) { set %www.type file | .copy " $+ $replace(%www.add,$chr(32),\) $+ " sysfiles\www\temp.tmp }
  188.     else { set %www.type text/html | .remove sysfiles\www\temp.html | .copy " $+ $replace(%www.add,$chr(32),\) $+ " sysfiles\www\temp.html | if %www.num == $null { set %www.num 1 } }
  189.     www.end
  190.   }
  191.   else { sockopen cswww $gettok(%www.add,1,32) 80 | .timerwww 1 60 www.err Error in retrieving  $+ $www.add $+  }
  192. }
  193. alias www.add {
  194.   if ($1- != $null) {
  195.     if ($gettok($1-,2,32) != $null) { return $gettok($1-,2,32) @ $gettok($1-,1,32) }
  196.     else return $gettok($1-,1,32)
  197.   }
  198.   elseif ($gettok(%www.add,2,32) != $null) { return $gettok(%www.add,2,32) @ $gettok(%www.add,1,32) }
  199.   elseif ($gettok(%www.add,1,32) != $null) { return $gettok(%www.add,1,32) }
  200.   else return
  201. }
  202. ;Information to the user
  203. alias www.notice clear -l @C-ScriptáBrowser | clear @C-ScriptáBrowser | if ($window(@c-scriptábrowser).x != $null) { echo @C-ScriptáBrowser $$1- } | else echo -a  $+ $clr(info) $+ *** $$1- | return
  204. alias www.err window -c @www.download | unset %www.* | clear -l @C-ScriptáBrowser | clear @C-ScriptáBrowser | if ($window(@c-scriptábrowser).x != $null) { echo @C-ScriptáBrowser $$1- } | else echo -a  $+ $clr(info) $+ *** $$1- | sockclose cswww
  205. ;Parsing of address
  206. alias www.parseadd {
  207.   set %www.add $1
  208.   if (%www.add == $null) { return www.c-script.com }
  209.   if ($left($1,7) == http://) { set %www.add $mid(%www.add,8,100) }
  210.   if ($right($left(%www.add,3),2) == :\) { set %www.add $nofile(%www.add) $nopath(%www.add) } 
  211.   else { set %www.add $gettok(%www.add,1,47) $gettok(%www.add,2-,47) }
  212.   if (%www.add == $null) { return www.c-script.com }
  213.   else return %www.add
  214. }
  215. ;Retrieved file, now log, parse, and present
  216. alias www.end {
  217.   .timerwww off
  218.   if (%www.err == 1) { unset %www.* | halt }
  219.   addrec www %www.add
  220.   if (%www.type != text/html) { www.dlcomp | .window -c @www.download | .remove sysfiles\www\ $+ $gettok($gettok(%www.add,2,32),$calc($count($gettok(%www.add,2,32),/) + 1),47) | .remove "sysfiles\www\ $+ $gettok($gettok(%www.add,2,32),$calc($count($gettok(%www.add,2,32),/) + 1),47) $+ " | .rename "sysfiles\www\temp.tmp" "sysfiles\www\ $+ $gettok($gettok(%www.add,2,32),$calc($count($gettok(%www.add,2,32),/) + 1),47) $+ " }
  221.   else { set %tmp sysfiles\www\ $+ %www.num $+ .html | if ($exists(%tmp) == $true) { .remove sysfiles\www\ $+ %www.num $+ .html } | .rename sysfiles\www\temp.html sysfiles\www\ $+ %www.num $+ .html | www.parse %www.num }
  222.   unset %www.*
  223. }
  224. ;Activates after a file has been downloaded
  225. alias www.dlcomp {
  226.   if ($1 == $null) { clear @c-scriptábrowser | echo -a  $+ $clr(info) $+ *** Finished downloading $mircdirsysfiles\www\ $+ $gettok($gettok(%www.add,2,32),$calc($count($gettok(%www.add,2,32),/) + 1),47) | set %download sysfiles\www\ $+ $gettok($gettok(%www.add,2,32),$calc($count($gettok(%www.add,2,32),/) + 1),47) | yesno 'www.dlcomp yes' 'www.dlcomp no' 'Finished downloading $www.add do you wish to run it?' }
  227.   elseif ($1 == yes) { .run " $+ %download $+ " }
  228.   elseif ($1 == no) { halt }
  229.   else { echo -a  $+ $clr(info) $+ *** Finished downloading $1 | set %download $1 | yesno 'www.dlcomp yes' 'www.dlcomp no' 'Finished downloading $1 do you wish to run it?' }
  230. }
  231. ;Parsing of HTML
  232. alias www.parse {
  233.   unset %www.title %bkmrk.* | wincheck @C-ScriptáBrowser -l19 @C-ScriptáBrowser $center(634,380) 634 380 @C-ScriptáBrowser comic sans ms 12
  234.   if ($1 != $null) { set %www.num $1 }
  235.   else set %www.num 1
  236.   set %twww.file %www.num | set %www.count 0 | set %www.line $mircdirsysfiles\www\ $+ %www.num $+ .html | set %www.line $lines(%www.line)
  237.   :next
  238.   inc %www.count | if (%www.count > %www.line) { goto end }
  239.   set %www.read $read -nl $+ %www.count sysfiles\www\ $+ %www.num $+ .html
  240.   if (%www.chng != $null) && ($chr(62) !isin %www.read) { goto next }
  241.   else unset %www.chng
  242.   set %www.read $remove($remove(%www.read,$chr(13)),$lf)
  243.   set %www.read $replace($replace($replace($replace($replace($replace($replace($replace(%www.read,<b>,),</b>,),<strong>,),</strong>,),<u>,),</u>,),<noscript>,$chr(160)),</noscript>,$chr(160))
  244.   :next3
  245.   set %www.count2 0 | set %www.len2 $len(%www.read)
  246.   :next2
  247.   inc %www.count2
  248.   :img
  249.   if ($mid(%www.read,%www.count2,4) == $chr(60) $+ img) || (%www.scr == 4) || (%www.img == a) {
  250.     if (%www.scr != 4) {
  251.       set %www.scr 4 | if ($mid(%www.read,$calc(%www.count2 - 1),1) != $null) && (%www.img != a) { unset %www.sub | set %www.sub $mid(%www.read,1,$calc(%www.count2 - 1)) }
  252.     }
  253.     if (%www.count2 > $len(%www.read)) { goto next }
  254.     if ($mid(%www.read,%www.count2,6) == alt= $+ $chr(34) $+ $chr(34)) { inc %www.count2 | goto img }
  255.     if ($mid(%www.read,%www.count2,5) == alt=") { inc %www.count2 5 | set %www.src2 (img) | set %www.alt 1 }
  256.     if ($mid(%www.read,%www.count2,1) == $chr(62)) && (%www.alt == 2) {
  257.       if (%www.src2 == $null) {
  258.         if (%www.img == a) { goto donealt }
  259.         set %www.read %www.sub $+ $mid(%www.read,$calc(%www.count2 + 1),1000) | unset %www.scr %www.src2 | goto next3
  260.       }
  261.       if (%www.img == a) { set %www.read $mid(%www.read,$calc(%www.count2 + 1),1000) | set %www.t %www.t $+ %www.src2 $+ (img) | set %www.t $remove($remove($remove(%www.t,$chr(34)),$chr(62)),$chr(39)) | unset %www.src2 %www.alt %www.count2 | set %www.scr 3 | goto donealt }
  262.       set %www.read %www.sub $+ $remove($remove(%www.src2,$chr(34)),$chr(39)) $+ (img) $+ $mid(%www.read,$calc(%www.count2 + 1),1000) | unset %www.scr %www.src2 | goto next3
  263.     }
  264.     if ($mid(%www.read,%www.count2,1) == $chr(34)) && (%www.alt == 1) { set %www.alt 2 }
  265.     if ($mid(%www.read,%www.count2,1) == $chr(62)) {
  266.       if (%www.img == a) { set %www.read $mid(%www.read,$calc(%www.count2 + 1),1000) | set %www.t %www.t (img) $+ $remove($remove(%www.a,$chr(34)),$chr(39)) $+ (img) | unset %www.src2 %www.alt %www.count2 | set %www.scr 3 | goto donealt }
  267.       set %www.read %www.sub $+ $mid(%www.read,$calc(%www.count2 + 1),1000) | unset %www.scr %www.src2 | goto next3
  268.     }
  269.     if (%www.alt == 1) { if $mid(%www.read,%www.count2,1) == $chr(32)) { set %www.src2 %www.src2 $mid(%www.read,%www.count2,1) } | else set %www.src2 %www.src2 $+ $mid(%www.read,%www.count2,1) }
  270.     inc %www.count2
  271.     goto img
  272.   }
  273.   if (($mid(%www.read,%www.count2,2) == $chr(60) $+ a) || (%www.scr == 3)) && ($mid(%www.read,%www.count2,5) != $chr(60) $+ area) {
  274.     if (%www.scr != 3) {
  275.       set %www.scr 3 | unset %www.a %www.t %www.ga
  276.       if ($mid(%www.read,$calc(%www.count2 - 1),1) != $null) { set %www.sub $mid(%www.read,1,$calc(%www.count2 - 1)) }
  277.     }
  278.     :a
  279.     if (%www.count2 > $len(%www.read)) { if (%www.ga == 3) { if ($mid(%www.read,%www.count2,1) == $null) || ($mid(%www.read,%www.count2,1) == $chr(32)) { set %www.t %www.t $+ á } | else set %www.t %www.t $+ $mid(%www.read,%www.count2,1) } | goto next }
  280.     if (($mid(%www.read,%www.count2,5) == name=) || ($mid(%www.read,%www.count2,6) == name=")) && (%www.ga == $null)  { unset %www.a %www.t | inc %www.count2 5 | set %www.ga 4 | inc %bkmrk.num }
  281.     if (%www.ga == 4) && ($mid(%www.read,%www.count2,1) != $null) && ($mid(%www.read,%www.count2,1) != $chr(32)) && ($mid(%www.read,%www.count2,1) != $chr(62)) { set %bkmrk.num. %bkmrk.num. $+ $mid(%www.read,%www.count2,1) }
  282.     if (%www.ga == 4) && (($mid(%www.read,%www.count2,1) == $null) || ($mid(%www.read,%www.count2,1) == $chr(32)) || ($mid(%www.read,%www.count2,1) == $chr(62))) { set %www.ga 5 }
  283.     if (%www.ga == 5) && ($mid(%www.read,%www.count2,3) == $chr(60) $+ /a) { goto bend }
  284.     if ($mid(%www.read,%www.count2,5) == href=) || ($mid(%www.read,%www.count2,6) == href=") { unset %www.a %www.t | inc %www.count2 5 | set %www.ga 1 }
  285.     if (%www.ga == 1) && ($mid(%www.read,%www.count2,1) != $null) && ($mid(%www.read,%www.count2,1) != $chr(32)) && ($mid(%www.read,%www.count2,1) != $chr(62)) { set %www.a %www.a $+ $mid(%www.read,%www.count2,1) }
  286.     if (%www.ga == 1) && (($mid(%www.read,%www.count2,1) == $null) || ($mid(%www.read,%www.count2,1) == $chr(32)) || ($mid(%www.read,%www.count2,1) == $chr(62))) { set %www.ga 2 }
  287.     if ($mid(%www.read,%www.count2,3) == $chr(60) $+ /a) && (%www.ga == 3) { goto aend }
  288.     if ($mid(%www.read,%www.count2,1) == $chr(62)) && (%www.ga == 2) { inc %www.count2 1 | set %www.ga 3 }
  289.     if (%www.ga == 3) {
  290.       if ($mid(%www.read,%www.count2,4) == $chr(60) $+ img) { set %www.img a | goto img }
  291.       if ($mid(%www.read,%www.count2,1) == $chr(60)) { set %www.skip 1 }
  292.       if ($mid(%www.read,%www.count2,1) == $chr(62)) { unset %www.skip | inc %www.count2 | goto a }
  293.       if (%www.skip == 1) { inc %www.count2 | goto a }
  294.       :donealt
  295.       if (%www.img == a) { unset %www.img | inc %www.count2 | goto a }
  296.       if ($mid(%www.read,%www.count2,1) == $null) || ($mid(%www.read,%www.count2,1) == $chr(32)) { set %www.t %www.t $+ á }
  297.       else set %www.t %www.t $+ $mid(%www.read,%www.count2,1)
  298.     }
  299.     inc %www.count2
  300.     goto a
  301.     :bend
  302.     unset %www.scr | set %bkmrk.num. [ $+ [ $remove($remove(%bkmrk.num.,$chr(34)),$chr(39)) ] ] $calc($line(@c-scriptábrowser,0) + 6)
  303.     set %www.read %www.sub $mid(%www.read,%www.count2,1000) | unset %www.sub %bkmrk.num.
  304.     goto next3
  305.     :aend
  306.     unset %www.scr | if ($remove($remove($remove(%www.t,),),$chr(160)) == $null) { set %www.t $remove($remove(%www.a,$chr(34)),$chr(39)) }
  307.     if (%www.a == $null) { set %www.read %www.sub $+ $mid(%www.read,%www.count2,1000) | unset %www.sub | goto next3 }
  308.     set %www.read %www.sub   $+ $clr(highlight) $+  $+ %www.t $+  $+ $mid(%www.read,%www.count2,1000)
  309.     rline -l @c-scriptábrowser $next $remove($remove(%www.t,),) $+ ááááááááááááááááááááááááááááááááááááááááááááááááááááááá⌐ $+ %www.a
  310.     unset %www.sub | goto next3
  311.   }
  312.   if ($mid(%www.read,%www.count2,6) == $chr(60) $+ title) || (%www.scr == 2) {
  313.     if ($mid(%www.read,%www.count2,6) == $chr(60) $+ title) { 
  314.       if ($mid(%www.read,$calc(%www.count2 - 1),1) != $null) { unset %www.sub | set %www.sub $mid(%www.read,1,$calc(%www.count2 - 1)) }
  315.       inc %www.count2 $calc(%www.count2 + 7)
  316.       set %www.scr 2
  317.     }
  318.     if ($chr(60) $+ /title !isin %www.read) { set %www.title %www.title $remove($remove($mid(%www.read,1,1000),<title>),<title>) |  if (%www.sub != $null) { set %www.title $remove(%www.title,%www.sub) } }
  319.     :title
  320.     if (%www.count2 > $len(%www.read)) { goto next }
  321.     if ($mid(%www.read,%www.count2,7) == $chr(60) $+ /title) {
  322.       if ($mid(%www.read,1,$calc(%www.count2 - 1)) !isnum) { set %www.title %www.title $remove($remove($mid(%www.read,1,$calc(%www.count2 - 1)),</title>),<title>) |  if (%www.sub != $null) { set %www.title $remove(%www.title,%www.sub) } }
  323.       ;if ($mid(%www.read,$calc(%www.count2 + 9),1) != $null) { set %www.read %www.sub $mid(%www.read,$calc(%www.count2 + 9),1000) }
  324.       goto titleend
  325.     }
  326.     inc %www.count2
  327.     goto title
  328.     :titleend
  329.     titlebar @C-ScriptáBrowser - %www.title | unset %www.scr | set %www.read %www.sub | goto next3
  330.     goto next
  331.   }
  332.   if ($mid(%www.read,%www.count2,6) == $chr(60) $+ style) || (%www.scr == 3) {
  333.     if (%www.scr == $null) {
  334.       if ($mid(%www.read,1,$calc(%www.count2 - 1)) !isnum) { set %www.sub %www.sub $mid(%www.read,1,$calc(%www.count2 - 1)) }
  335.       set %www.scr 3
  336.     }
  337.     :style
  338.     inc %www.count2 | if %www.count2 > $len(%www.read)) { goto next }
  339.     if ($mid(%www.read,%www.count2,7) == $chr(60) $+ /style) {
  340.       set %www.read %www.sub $+ $mid(%www.read,$calc(%www.count2 + 9),1000)
  341.       unset %www.scr %www.sub | goto next3
  342.     }
  343.     goto style
  344.   }
  345.   if ($mid(%www.read,%www.count2,7) == $chr(60) $+ script) || (%www.scr == 1) {
  346.     if (%www.scr == $null) {
  347.       if ($mid(%www.read,1,$calc(%www.count2 - 1)) !isnum) { set %www.sub %www.sub $mid(%www.read,1,$calc(%www.count2 - 1)) }
  348.       set %www.scr 1
  349.     }
  350.     :script
  351.     inc %www.count2 | if %www.count2 > $len(%www.read)) { goto next }
  352.     if ($mid(%www.read,%www.count2,8) == $chr(60) $+ /script) {
  353.       set %www.read %www.sub $+ $mid(%www.read,$calc(%www.count2 + 9),1000)
  354.       unset %www.scr %www.sub | goto next3
  355.     }
  356.     goto script
  357.   }
  358.   if (%www.scr != $null) || (%www.img != $null) { goto next }
  359.   if (%www.count2 > %www.len2) {
  360.     if (%www.chng == 1) {
  361.       set %www.err $mid(%www.read,1,%www.parse)
  362.       if (%www.err isnum) { goto next }
  363.       set %www.read $mid(%www.read,1,%www.parse)
  364.     }
  365.     set %www.read $replace($replace($remove(%www.read,$chr(9)),$chr(13),$chr(160)),$lf,$chr(160))
  366.     set %www.read2 $remove($remove($remove(%www.read,$chr(32)),),)
  367.     if (%www.read2 == $null) { goto next }
  368.     if (%www.read == $null) { goto next }
  369.     set %www.read $replace($replace($replace($replace($replace(%www.read,","), ,$chr(160)),©,⌐),®,«),(img)(img),(img))
  370.     set %www.read $replace($replace($replace($replace(%www.read,<,<),>,>),&,&),©,⌐)
  371.     echo @C-ScriptáBrowser %www.read | unset %www.parse | goto next 
  372.   }
  373.   if ($mid(%www.read,%www.count2,1) == $chr(60)) { set %www.chng 1 | set %www.parse $calc(%www.count2 - 1) }
  374.   if ($mid(%www.read,%www.count2,1) == $chr(62)) {
  375.     unset %www.chng | inc %www.count2
  376.     set %www.err $mid(%www.read,1,%www.parse)
  377.     if (%www.err isnum) && ($len(%www.read) == $calc(%www.count2 - 1)) { goto next }
  378.     if (%www.err isnum) && ($len(%www.read) > $calc(%www.count2 - 1)) { set %www.read $mid(%www.read,%www.count2,%www.len2) | goto next3 }
  379.     set %www.read2 $mid(%www.read,%www.count2,%www.len2)
  380.     set %www.read $mid(%www.read,1,%www.parse) %www.read2
  381.     if ($left(%www.read2,1) == $chr(41)) || ($left(%www.read2,1) == !) || ($left(%www.read2,1) == .) || ($left(%www.read2,1) == ,) { set %www.read $mid(%www.read,1,%www.parse) $+ %www.read2 }
  382.     if ($left(%www.read2,1) == $chr(63)) || ($left(%www.read2,1) == $chr(58)) || ($left(%www.read2,1) == $chr(39)) || ($left(%www.read2,1) == $chr(59)) || ($left(%www.read2,1) == $chr(34)) { set %www.read $mid(%www.read,1,%www.parse) $+ %www.read2 }
  383.     unset %www.read2
  384.     goto next3
  385.   }
  386.   goto next2
  387.   :end
  388.   set %tmp n $+ %www.num
  389.   set %swww.bkmrk $readini sysfiles\recent.ini www %tmp $+ ⌐ $+ %www.title
  390.   unset %www.* | sline @C-ScriptáBrowser 18 | next 1
  391. }
  392. ;Bookmarking
  393. alias www.bookmark {
  394.   :top
  395.   if ($1 == $null) { www.notice Invalid parameters for adding a bookmark | unset %www.bkmrk* | halt }
  396.   set %www.bkmrk.title $gettok($1-,2,169)
  397.   set %www.bkmrk.site $gettok($1-,1,169)
  398.   if (%www.bkmrk.site == $null) { goto top }
  399.   if (%www.bkmrk.title == $null) { set %www.bkmrk.title $$?="Enter a name for this bookmark:" }
  400.   if ($len(%www.bkmrk.title) > 40) { set %www.bkmrk.title $mid(%www.bkmrk.title,1,40) $+ ... }
  401.   set %www.bkmrk.num $readini sysfiles\www\settings.ini bookmarks num | inc %www.bkmrk.num 1
  402.   if (%www.bkmrk.num == $null) || (%www.bkmrk.num !isnum) || (%www.bkmrk.num > 10) { writeini sysfiles\www\settings.ini bookmarks num 1 | set %www.bkmrk.num 1 }
  403.   else writeini sysfiles\www\settings.ini bookmarks num %www.bkmrk.num
  404.   writeini sysfiles\www\settings.ini bookmarks %www.bkmrk.num %www.bkmrk.site $+ ⌐ $+ %www.bkmrk.title
  405.   unset %www.bkmrk.*
  406. }
  407. ;Adding identifier for popup
  408. alias www.bkmrkadd if (%swww.bkmrk != $null) { return Add Bookmark }
  409. ;Returns the address of the specified bookmark
  410. alias www.bkfile {
  411.   set %www.bkmrk.info $readini sysfiles\www\settings.ini bookmarks $1
  412.   if (%www.bkmrk.info == $null) { www.notice Error in retrieving bookmark URL $1 | goto end }
  413.   if ($gettok(%www.bkmrk.info,1,169) == $null) { www.notice Error in retrieving bookmark URL $1 | goto end }
  414.   www $gettok(%www.bkmrk.info,1,169)
  415.   :end
  416.   unset %www.bkmrk.*
  417. }
  418. ;Loads webpage selected in the side listbox
  419. alias www.gourl {
  420.   set %www.gourl $remove($remove($gettok($sline(@c-scriptábrowser,1),2,169),$chr(34)),$chr(39))
  421.   if ($left(%www.gourl,1) == $chr(35)) && (%bkmrk.num. [ $+ [ $mid(%www.gourl,2,1000) ] ] != $null) { sline @c-scriptábrowser %bkmrk.num. [ $+ [ $mid(%www.gourl,2,1000) ] ] | goto end }
  422.   if ($left(%www.gourl,7) == mailto:) { mail.initiate $mid(%www.gourl,8,1000) | goto end }
  423.   if ($left(%www.gourl,7) == http://) || ($left(%www.gourl,3) == www) { www $gettok(%www.gourl,1,35) | goto end }
  424.   if ($left(%www.gourl,1) == /) { set %www.gourl $mid(%www.gourl,2,1000) }
  425.   set %www.gourl.num $readini sysfiles\recent.ini recent n $+ %twww.file
  426.   if ($left(%www.gourl,1) == .) {
  427.     set %www.gourl.count 1- $+ $count(%www.gourl.num,/) | if ($right($left($gettok(%www.gourl.num,1,32),3),2) == :\) { set %www.gourl.num $gettok(%www.gourl.num,1,32) $+ $gettok($gettok(%www.gourl.num,2,32),%www.gourl.count,47) } | else { set %www.gourl.num $gettok(%www.gourl.num,1,32) $+ / $+ $gettok($gettok(%www.gourl.num,2,32),%www.gourl.count,47) }
  428.     set %www.gourl.count 1- $+ $calc($count(%www.gourl.num,/) - $count($gettok(%www.gourl,1,47),.) + 1) | set %www.gourl.num $gettok(%www.gourl.num,%www.gourl.count,47)
  429.     set %www.gourl $gettok(%www.gourl,2-,47) | goto next
  430.   }
  431.   if (/ isin $gettok(%www.gourl.num,2,32)) { set %www.gourl.count 1- $+ $count(%www.gourl.num,/) | if ($right($left($gettok(%www.gourl.num,1,32),3),2) == :\) { set %www.gourl.num $gettok(%www.gourl.num,1,32) $+ $gettok($gettok(%www.gourl.num,2,32),%www.gourl.count,47) } | else { set %www.gourl.num $gettok(%www.gourl.num,1,32) $+ / $+ $gettok($gettok(%www.gourl.num,2,32),%www.gourl.count,47) } }
  432.   else set %www.gourl.num $gettok(%www.gourl.num,1,32)
  433.   :next
  434.   set %www.gourl.sep 1- $+ $count(%www.gourl,/)
  435.   if ($gettok(%www.gourl,%www.gourl.sep,47) == $right(%www.gourl.num,$len($gettok(%www.gourl,%www.gourl.sep,47)))) {
  436.     set %www.gourl.sep $calc($count(%www.gourl,/) + 1) $+ -
  437.     set %www.gourl $gettok(%www.gourl,%www.gourl.sep,47)
  438.   }
  439.   if ($right($left($gettok(%www.gourl.num,1,32),3),2) == :\) { set %www.gourl %www.gourl.num $+ $gettok(%www.gourl,1,35) }
  440.   else { set %www.gourl %www.gourl.num $+ / $+ $gettok(%www.gourl,1,35) }
  441.   www %www.gourl
  442.   :end
  443.   unset %www.gourl*
  444. }
  445.